The Use of Multithreading for Exception Handling Craig
نویسندگان
چکیده
Figure 1. Traditional vs. Multithreaded Exception Handling. Six instructions have been fetched when an exception is detected on the fourth. Traditionally (a), instructions 4-6 are squashed and must be refetched after the exception handler is fetched. With our multithreaded mechanism (b), a second thread fetches the exception handler (AD), and then the main thread continues to fetch (7,8). The exception handler is retired before the excepting instruction. (c) This makes the global retirement order different than the fetch order, but each thread retires instructions in it's fetch order.
منابع مشابه
Concurrent Event Handling through Multithreading
Exceptions have traditionally been used to handle infrequently occurring and unpredictable events during normal program execution. Current trends in microprocessor and operating systems design continue to increase the cost of event handling. Because of the deep pipelines and wide out-of-order superscalar architectures of contemporary microprocessors, an event may need to nullify a large number ...
متن کاملWin32 API Emulation on UNIX for Software DSM
This paper presents a new Win32 API emulation layer called nt2unix. It supports source code compatible Win32 console applications on UNIX. We focus on the emulation of specific Win32 features used for systems programming like exception handling, virtual memory management, Windows NT multithreading / synchronization and the WinSock API for networking. As a case study, we ported the all-software ...
متن کاملThe Logical Design of the RHODOS Multi-threaded Microkernel*
As the RHODOS system has come under increasing use, the need to utilise multiple threads of control within the microkernel has become apparent. In this report we present the logical design of a multi-threaded microkernel for the RHODOS distributed operating system. The important components of the RHODOS microkernel (both hardware dependent and independent) that require design and development to...
متن کاملConcurrent object oriented programming with Asynchronous References
In the very next future, applications will have to be highly concurrent to get some speedup from the new trend of chip-multithreading processor architecture. But writing concurrent applications is provably more difficult than developing sequential ones. We define three objectives a concurrent programming model should target to be massively adopted by the developer community. We propose such a m...
متن کاملReducing exception management overhead with software restart markers
Modern processors rely on exception handling mechanisms to detect errors and to implement various features such as virtual memory. However, these mechanisms are typically hardwareintensive because of the need to buffer partially-completed instructions to implement precise exceptions and enforce in-order instruction commit, often leading to issues with performance and energy efficiency. The situ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1999